草庐IT

Python GTK+ 部件名称

全部标签

c++ - 'sktraits' 之前的预期嵌套名称说明符

这是导致编译错误的类模板片段:/*Secondaryindexclass*/templatetemplateclassCBtreeDb::CDbSecondaryIndex:protectedCBtreeDb,publicIDeallocateKey{public:typedefTSecKeyskey_type;typedeftypenamesktraitsskey_traits;typedefCNewDbtCDbSKey;typedeftypenameiterator_titerator;typedeftypenameiter_lower_bound_titer_lower_boun

c++ - 关于名称隐藏和虚函数的混淆

引用另一个soquestion考虑代码:classBase{public:virtualvoidgogo(inta){printf("Base::gogo(int)\n");};virtualvoidgogo(int*a){printf("Base::gogo(int*)\n");};};classDerived:publicBase{public:virtualvoidgogo(int*a){printf("Derived::gogo(int*)\n");};};intmain(){//1)Derived*obj=newDerived;obj->gogo(7);//thisisill

c++ - 处理 header 中令人痛苦的长命名空间名称

对于需要在头文件中引用的looong符号,有什么可以做的吗?ABDEFGHIJ::ZXCBVB::AWEDADSDEM::GFGBKGDF::Tools::Item?我知道在头文件中你不应该使用using因为它会把包含它的人搞得一团糟。我什至能想到的唯一可以自行清理的有效功能是#define+#undef但这看起来很糟糕。是否有我不知道的解决此问题的新功能?我也对任何受欢迎的提案感兴趣。也许使用和方括号block语法,让我将效果限制在我的标题...? 最佳答案 usingnamespace不是好的做法在头文件中的全局范围内使用指令。

c++ - 如何在 OpenGL 或 Win32 中获取显卡型号名称?

我想知道OpenGL或Win32中的显卡型号名称,因为我在特定类型的显卡上存在内存泄漏错误(仅IntelHD而不是所有Intel)。这是错误:https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/280679OpenGL中的供应商名称不够。有人知道获取与使用Direct3D不同的图形卡名称的方法吗?或者您认为我可以同时使用D3D和OpenGL吗?Getthegraphicscardmodel? 最佳答案 您可以通过Op

c++ - 在不同计算机上编译时,C++ 损坏的名称是否保持一致?

一般来说,我在Linux上使用nm时观察到的是T符号名称(我感兴趣的)在不同的计算机上保持一致,即使我我没有使用extern"C"。我的观察是否正确?注意我在所有计算机上都使用gcc。 最佳答案 计算机、一天中的时间或天气极少会影响名称改编。更容易导致偏差的是编译器版本的差异。但是许多linux平台为C++定义了一个ABI(应用程序二进制接口(interface)),其中包括名称重整规则等。在这些平台上,无论优化级别、编译器版本、主机名、硬盘序列号、一天中的时间、天气、你最喜欢的运动队上周是否输了,或任何其他因素,相同的源代码都会编

c++ - 具有相同名称的纯虚函数的不同实现

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Inheritinterfaceswhichshareamethodname我有两个基类I1和I2具有纯虚函数voidR()=0;.我想要派生类IImpl从I1继承和I2并为I1::R()提供不同的实现和I2::R().下面的代码在MSVS2005和2010中编译和工作。我在禁用语言扩展和警告级别4的情况下编译。没有警告也没有错误。我在gcc4.2中尝试了相同的代码。它不编译。GCC报错:error:cannotdefinememberfunction'I1::R'within'IImpl'我的问题是:为什么

c++ - 枚举值与枚举名称冲突

让我们采用我最近在项目中某处找到的代码构造:namespaceTest{enumEName{CoolEnum,NiceEnum};enumCoolEnum{CoolVal1,CoolVal2};enumNiceEnum{NiceVal1,NiceVal2};}我的问题是为什么编译器允许这样的事情。让我们在这里看一个代码示例:Test::CoolEnumcEnum=Test::NiceVal1;//INVALID,ascompilerreferstoTest::CoolEnumvalueofTest::Enameenum为什么允许这样的混淆?我明白为什么我必须在enum关键字前面加上,所

c++ -::运算符能否出现在与限定名称查找中的范围解析不同的上下文中?

作为用于限定名称查找目的的已知范围解析运算符。但是::返回的值是什么?据我了解,它是后缀一元运算符。请考虑以下事项:namespaceA{//something}A:://error:expectedunqualified-idbefore‘int’intmain(){}你能解释一下这种行为吗? 最佳答案 范围解析运算符::只是一个语法运算符,没有其他语义。也就是说,有些运算符只对语言的语法有贡献,而其他运算符也对程序的语义/运行时行为有贡献,并且可以自定义语义。这就是运算符重载。 关于

c++ - 通过 using-directive 在 using-declaration 中查找名称

根据c++标准,下面的程序是良构还是病构的?namespaceN{inti;}usingnamespaceN;using::i;intmain(){}我用不同的编译器得到不同的结果:Clang(http://melpon.org/wandbox/permlink/c8vl7XbumyyS6vsw):没有错误。GCC(http://melpon.org/wandbox/permlink/immhNeWFCMcCA800):错误:'i'未声明。根据c++标准,这个程序是良构还是病构的?需要对c++标准的引用。我想弄清楚我应该为哪个编译器提交错误。 最佳答案

c++ - chrono_literals 不是命名空间名称

我正在尝试构建一个名为darkstar的程序,这是一个私有(private)FFXI服务器。我正在尝试在FreeBSD10.2稳定版上构建它。我正在使用端口中的GCC5.3来尝试构建它。使用makeCC=gcc5CXX=g++5CPP="gcc5-E"调用正确版本的GCC/G++。这是我被踢出的错误代码。src/common/../common/../common/cbasetypes.h:336:22:error:'chrono_literals'isnotanamespace-nameusingnamespacestd::chrono_literals;^src/common/..